---
sidebar_position: 6
---

# ResponseSynthesizer (ΣυνθέτηςΑπόκρισης)

`Αυτό το έγγραφο έχει μεταφραστεί αυτόματα και μπορεί να περιέχει λάθη. Μη διστάσετε να ανοίξετε ένα Pull Request για να προτείνετε αλλαγές.`

Ο ResponseSynthesizer είναι υπεύθυνος για την αποστολή του ερωτήματος, των κόμβων και των προτύπων προτροπής στο LLM για τη δημιουργία μιας απόκρισης. Υπάρχουν μερικές βασικές λειτουργίες για τη δημιουργία μιας απόκρισης:

- `Refine` (Βελτίωση): "δημιουργία και βελτίωση" μιας απάντησης πηγαίνοντας σειριακά μέσω κάθε ανακτημένου τμήματος κειμένου. Αυτό κάνει ένα ξεχωριστό κλήση LLM ανά κόμβο. Καλό για πιο λεπτομερείς απαντήσεις.
- `CompactAndRefine` (ΣυμπίεσηΚαιΒελτίωση) (προεπιλογή): "συμπίεση" της προτροπής κατά την κάθε κλήση LLM, εισάγοντας όσα τμήματα κειμένου μπορούν να χωρέσουν μέσα στο μέγιστο μέγεθος της προτροπής. Εάν υπάρχουν πολλά τμήματα για να χωρέσουν σε μια προτροπή, "δημιουργία και βελτίωση" μιας απάντησης πηγαίνοντας μέσω πολλαπλών συμπιεσμένων προτροπών. Ίδιο με το `refine`, αλλά θα πρέπει να οδηγεί σε λιγότερες κλήσεις LLM.
- `TreeSummarize` (ΣύνοψηΔέντρου): Δεδομένου ενός συνόλου τμημάτων κειμένου και του ερωτήματος, αναδρομικά κατασκευάζει ένα δέντρο και επιστρέφει τον ριζικό κόμβο ως απόκριση. Καλό για σκοπούς σύνοψης.
- `SimpleResponseBuilder` (ΑπλόςΔημιουργόςΑπόκρισης): Δεδομένου ενός συνόλου τμημάτων κειμένου και του ερωτήματος, εφαρμόζει το ερώτημα σε κάθε τμήμα κειμένου ενώ συγκεντρώνει τις απαντήσεις σε έναν πίνακα. Επιστρέφει ένα συνενωμένο συμβολοσειρά όλων των απαντήσεων. Καλό για όταν χρειάζεστε να εκτελέσετε το ίδιο ερώτημα ξεχωριστά για κάθε τμήμα κειμένου.

```typescript
import { NodeWithScore, ResponseSynthesizer, TextNode } from "llamaindex";

const responseSynthesizer = new ResponseSynthesizer();

const nodesWithScore: NodeWithScore[] = [
  {
    node: new TextNode({ text: "Είμαι 10 ετών." }),
    score: 1,
  },
  {
    node: new TextNode({ text: "Ο John είναι 20 ετών." }),
    score: 0.5,
  },
];

const response = await responseSynthesizer.synthesize(
  "Πόσων ετών είμαι;",
  nodesWithScore,
);
console.log(response.response);
```

## Αναφορά API

- [ResponseSynthesizer (ΣυνθέτηςΑπόκρισης)](../../api/classes/ResponseSynthesizer.md)
- [Refine (Βελτίωση)](../../api/classes/Refine.md)
- [CompactAndRefine (ΣυμπίεσηΚαιΒελτίωση)](../../api/classes/CompactAndRefine.md)
- [TreeSummarize (ΣύνοψηΔέντρου)](../../api/classes/TreeSummarize.md)
- [SimpleResponseBuilder (ΑπλόςΔημιουργόςΑπόκρισης)](../../api/classes/SimpleResponseBuilder.md)

"
